home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 4076 / 4076.xpi / chrome / addthis.jar / content / MainButton.js < prev    next >
Encoding:
Text File  |  2010-01-06  |  3.2 KB  |  89 lines

  1. var AddThis_MainButton = {
  2.     
  3.     setVisibility : function(visible, doc) {
  4.         AddThis_Util.dbg("MainButton.setVisibility: enter");
  5.         if (typeof doc == "undefined") doc = document;
  6.         var toolbox = doc.getElementById("navigator-toolbox");
  7.         var toolboxDocument = toolbox.ownerDocument;
  8.         var currentlyVisible = this.isVisible(doc); 
  9.         if (currentlyVisible && !visible) {
  10.  
  11.             
  12.             AddThis_Util.dbg("MainButton.setVisibility: removing button from bar...");
  13.             for (var i = 0; i < toolbox.childNodes.length; ++i) {
  14.                 var toolbar = toolbox.childNodes[i];
  15.                 if (toolbar.localName == "toolbar" && toolbar.getAttribute("customizable") == "true" 
  16.                     && toolbar.id=="nav-bar") {
  17.                     AddThis_Util.dbg("MainButton.setVisibility: currentSet = " + toolbar.currentSet);
  18.                     
  19.                     
  20.                     var idx = toolbar.currentSet.indexOf("at_toolbarBtn");
  21.                     if (idx != -1) {
  22.                         var preUs = toolbar.currentSet.substring (0, idx);
  23.                         var postUs = toolbar.currentSet.substring (idx + 14, toolbar.currentSet.length);
  24.                         var newSet = preUs + postUs;
  25.                         AddThis_Util.dbg("MainButton.setVisibility: setting to new currentSet: " + newSet);
  26.                         toolbar.currentSet = newSet;
  27.                         toolbar.setAttribute("currentset", newSet);
  28.                         toolboxDocument.persist(toolbar.id, "currentset");
  29.                         AddThis_Util.dbg("MainButton.setVisibility: button removed.");
  30.                         continue;
  31.                     }
  32.                 }
  33.             }
  34.         } else if (!currentlyVisible && visible) {
  35.  
  36.             
  37.             AddThis_Util.dbg("MainButton.setVisibility: adding button to bar...");
  38.             for (var i = 0; i < toolbox.childNodes.length; ++i) {
  39.                 toolbar = toolbox.childNodes[i];
  40.                 if (toolbar.localName == "toolbar" && toolbar.getAttribute("customizable") == "true" 
  41.                     && toolbar.id=="nav-bar") {
  42.                     
  43.                     
  44.                     var idx = toolbar.currentSet.indexOf("urlbar-container");
  45.                     if (idx != -1) {
  46.                         var preBar = toolbar.currentSet.substring (0, idx);
  47.                         var postBar = toolbar.currentSet.substring (idx, toolbar.currentSet.length);
  48.                         var newSet = preBar + "at_toolbarBtn," + postBar;
  49.                         toolbar.currentSet = newSet;
  50.                         toolbar.setAttribute("currentset", newSet);
  51.                         toolboxDocument.persist(toolbar.id, "currentset");
  52.                         AddThis_Util.dbg("MainButton.setVisibility: button added.");
  53.                         continue;
  54.                     }
  55.                 }
  56.             }
  57.         }
  58.         AddThis_Util.dbg("MainButton.setVisibility: finished toolbox customization");
  59.         try{
  60.             doc.defaultView.BrowserToolboxCustomizeDone(true);
  61.         } catch(e){}
  62.         AddThis_Util.dbg("MainButton.setVisibility: done.");
  63.     },
  64.  
  65.     isVisible : function(doc) {
  66.         AddThis_Util.dbg("MainButton.isVisible: looking for our button...");
  67.         if (typeof doc == "undefined") doc = document;
  68.         var toolbox = doc.getElementById("navigator-toolbox");
  69.         var toolboxDocument = toolbox.ownerDocument;
  70.         var hasButton = false;
  71.         for (var i = 0; i < toolbox.childNodes.length; ++i) {
  72.             var toolbar = toolbox.childNodes[i];
  73.             if (toolbar.localName == "toolbar" && toolbar.getAttribute("customizable") == "true") {
  74.                 if(toolbar.currentSet.indexOf("at_toolbarBtn") != -1) {
  75.                     hasButton = true;
  76.                     continue;
  77.                 }
  78.             }
  79.         }
  80.         AddThis_Util.dbg("MainButton.isVisible: found button? " + hasButton);
  81.         return hasButton;
  82.     },
  83.     
  84.     prepare: function() {
  85.         AddThis_Util.dbg("MainButton.prepare: go...");
  86.         AddThis_Sharing.initShareMenu("at_toolbarBtnPopup");
  87.     }
  88.  
  89. }